package com.yqg.protection.entity;

import com.alibaba.excel.annotation.ExcelIgnore;
import com.alibaba.excel.annotation.ExcelProperty;
import com.baomidou.mybatisplus.annotation.FieldStrategy;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;

import java.io.Serializable;
import java.util.List;

/**
 * organization 实体类
 *
 * @author zxf
 * @since 2024-01-01
 */
@Getter
@Setter
@ApiModel(value = "Organization对象", description = "")
public class Organization implements Serializable {

    private static final long serialVersionUID = 1L;

    @TableId(value = "id", type = IdType.AUTO)
    @ExcelProperty(value = "ID", index = 0)
    private Long id;

    @ExcelProperty(value = "名称", index = 1)
    private String name;

    @ExcelProperty(value = "父ID", index = 2)
    private Long pid;

    @ExcelProperty(value = "级别", index = 3)
    private Integer level;

    @ExcelIgnore
    private String isDelete;

    @ExcelIgnore
    private Long country;

    @TableField(updateStrategy = FieldStrategy.IGNORED)
    @ApiModelProperty("（SC省消防大队，FC市消防大队，FB区县消防大队）")
    @ExcelIgnore
    private Long scTeam;

    @ExcelIgnore
    @TableField(updateStrategy = FieldStrategy.IGNORED)
    private Long fcTeam;

    @ExcelIgnore
    @TableField(updateStrategy = FieldStrategy.IGNORED)
    private Long fbTeam;

    @ExcelIgnore
    @TableField(updateStrategy = FieldStrategy.IGNORED)
    private Long community;

    @ExcelIgnore
    @TableField(updateStrategy = FieldStrategy.IGNORED)
    private Long building;

    @ExcelIgnore
    @TableField(updateStrategy = FieldStrategy.IGNORED)
    private Long unit;

    @ExcelIgnore
    @TableField(updateStrategy = FieldStrategy.IGNORED)
    private Long floor;

    @ExcelIgnore
    @TableField(updateStrategy = FieldStrategy.IGNORED)
    private Long room;

    @ExcelIgnore
    @TableField(exist = false)
    private List children;

}
